Electronic Delay Storage Automatic Calculator
   HOME

TheInfoList



OR:

The Electronic Delay Storage Automatic Calculator (EDSAC) was an early British computer. Inspired by
John von Neumann John von Neumann (; hu, Neumann János Lajos, ; December 28, 1903 â€“ February 8, 1957) was a Hungarian-American mathematician, physicist, computer scientist, engineer and polymath. He was regarded as having perhaps the widest cove ...
's seminal ''
First Draft of a Report on the EDVAC The ''First Draft of a Report on the EDVAC'' (commonly shortened to ''First Draft'') is an incomplete 101-page document written by John von Neumann and distributed on June 30, 1945 by Herman Goldstine, security officer on the classified ENIAC pro ...
'', the machine was constructed by Maurice Wilkes and his team at the
University of Cambridge Mathematical Laboratory The Department of Computer Science and Technology, formerly the Computer Laboratory, is the computer science department of the University of Cambridge. it employed 35 academic staff, 25 support staff, 35 affiliated research staff, and about 15 ...
in England. EDSAC was the second electronic digital stored-program computer to go into regular service. Later the project was supported by J. Lyons & Co. Ltd., intending to develop a commercially applied computer and succeeding in Lyons' development of LEO I, based on the EDSAC design. Work on EDSAC started during 1947, and it ran its first programs on 6 May 1949, when it calculated a table of
square number In mathematics, a square number or perfect square is an integer that is the square of an integer; in other words, it is the product of some integer with itself. For example, 9 is a square number, since it equals and can be written as . The usu ...
s and a list of
prime number A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways ...
s. EDSAC was finally shut down on 11 July 1958, having been superseded by
EDSAC 2 EDSAC 2 was an early computer (operational in 1958), the successor to the Electronic Delay Storage Automatic Calculator (EDSAC). It was the first computer to have a microprogrammed control unit and a bit-slice hardware architecture. First cal ...
, which remained in use until 1965.


Technical overview


Physical components

As soon as EDSAC was operational, it began serving the university's research needs. It used mercury delay lines for memory and derated
vacuum tube A vacuum tube, electron tube, valve (British usage), or tube (North America), is a device that controls electric current flow in a high vacuum between electrodes to which an electric potential difference has been applied. The type known as ...
s for logic. Power consumption was 11  kW of electricity. Cycle time was 1.5 ms for all ordinary instructions, 6 ms for multiplication. Input was via five-hole
punched tape Five- and eight-hole punched paper tape Paper tape reader on the Harwell computer with a small piece of five-hole tape connected in a circle – creating a physical program loop Punched tape or perforated paper tape is a form of data storage ...
, and output was via a
teleprinter A teleprinter (teletypewriter, teletype or TTY) is an electromechanical device that can be used to send and receive typed messages through various communications channels, in both point-to-point and point-to-multipoint configurations. Init ...
. Initially registers were limited to an accumulator and a multiplier register. In 1953, David Wheeler, returning from a stay at the
University of Illinois The University of Illinois Urbana-Champaign (U of I, Illinois, University of Illinois, or UIUC) is a public land-grant research university in Illinois in the twin cities of Champaign and Urbana. It is the flagship institution of the Univer ...
, designed an
index register An index register in a computer's CPU is a processor register (or an assigned memory location) used for pointing to operand addresses during the run of a program. It is useful for stepping through strings and arrays. It can also be used for hol ...
as an extension to the original EDSAC hardware. A magnetic-tape drive was added in 1952 but never worked sufficiently well to be of real use.Some EDSAC statistics
Until 1952, the available main memory (instructions and data) was only 512 18-bit words, and there was no backing store. The delay lines (or "tanks") were arranged in two batteries providing 512 words each. The second battery came into operation in 1952. The full 1024-word delay-line store was not available until 1955 or early 1956, limiting programs to about 800 words until then. John Lindley (diploma student 1958–1959) mentioned "the incredible difficulty we had ever to produce a single correct piece of paper tape with the crude and unreliable home-made punching, printing and verifying gear available in the late 50s".


Memory and instructions

The EDSAC's main memory consisted of 1024 locations, though only 512 locations were initially installed. Each contained 18 bits, but the topmost bit was always unavailable due to timing problems, so only 17 bits were used. An instruction consisted of a 5-bit instruction code, 1 spare bit, a 10-bit operand (usually a memory address), and 1 length bit to control whether the instruction used a 17-bit or a 35-bit operand (two consecutive words,
little-endian In computing, endianness, also known as byte sex, is the order or sequence of bytes of a word of digital data in computer memory. Endianness is primarily expressed as big-endian (BE) or little-endian (LE). A big-endian system stores the most si ...
). All instruction codes were by design represented by one mnemonic letter, so that the ''Add'' instruction, for example, used the EDSAC character code for the letter A. Internally, the EDSAC used
two's complement Two's complement is a mathematical operation to reversibly convert a positive binary number into a negative binary number with equivalent (but negative) value, using the binary digit with the greatest place value (the leftmost bit in big- endian ...
binary Binary may refer to: Science and technology Mathematics * Binary number, a representation of numbers using only two digits (0 and 1) * Binary function, a function that takes two arguments * Binary operation, a mathematical operation that ta ...
numbers. Numbers were either 17 bits (one word) or 35 bits (two words) long. Unusually, the multiplier was designed to treat numbers as fixed-point fractions in the range −1 ≤ ''x'' < 1, i.e. the binary point was immediately to the right of the sign. The accumulator could hold 71 bits, including the sign, allowing two long (35-bit) numbers to be multiplied without losing any precision. The instructions available were: * Add * Subtract * Multiply-and-add * AND-and-add (called "Collate") * Shift left * Arithmetic shift right * Load multiplier register * Store (and optionally clear) accumulator * Conditional goto * Read input tape * Print character * Round accumulator * No-op * Stop There was no division instruction (but various division subroutines were supplied) and no way to directly load a number into the accumulator (a "sTore and zero accumulator" instruction followed by an "Add" instruction were necessary for this). There was no unconditional jump instruction, nor was there a procedure call instruction â€“ it had not yet been invented. Maurice Wilkes discussed relative addressing modes for the EDSAC in a paper published in 1953. He was making the proposals to facilitate the use of subroutines.


System software

The ''initial orders'' were hard-wired on a set of uniselector switches and loaded into the low words of memory at startup. By May 1949, the initial orders provided a primitive relocating
assembler Assembler may refer to: Arts and media * Nobukazu Takemura, avant-garde electronic musician, stage name Assembler * Assemblers, a fictional race in the ''Star Wars'' universe * Assemblers, an alternative name of the superhero group Champions of ...
taking advantage of the mnemonic design described above, all in 31 words. This was the world's first assembler, and arguably the start of the global software industry. There is a simulation of EDSAC available and a full description of the initial orders and first programs. The first calculation done by EDSAC was a square-number program run on 6 May 1949. The program was written by
Beatrice Worsley Beatrice Helen Worsley (18 October 1921 – 8 May 1972) was a Canadian computer scientist who was the first female computer scientist in Canada. She received her Ph.D. degree from the University of Cambridge with Maurice Wilkes as adviser, the ...
, who had come from Canada to study the machine. The machine was used by other members of the university to solve real problems, and many early techniques were developed that are now included in operating systems. Users prepared their programs by punching them (in assembler) onto a paper tape. They soon became good at being able to hold the paper tape up to the light and read back the codes. When a program was ready, it was hung on a length of line strung up near the paper-tape reader. The machine operators, who were present during the day, selected the next tape from the line and loaded it into EDSAC. This is of course well known today as job queues. If it printed something, then the tape and the printout were returned to the user, otherwise they were informed at which memory location it had stopped. Debuggers were some time away, but a CRT screen could be set to display the contents of a particular piece of memory. This was used to see whether a number was converging, for example. A loudspeaker was connected to the accumulator's sign bit; experienced users knew healthy and unhealthy sounds of programs, particularly programs "hung" in a loop. After office hours certain "authorised users" were allowed to run the machine for themselves, which went on late into the night until a valve blew – which usually happened according to one such user. This is alluded to by
Fred Hoyle Sir Fred Hoyle FRS (24 June 1915 â€“ 20 August 2001) was an English astronomer who formulated the theory of stellar nucleosynthesis and was one of the authors of the influential B2FH paper. He also held controversial stances on other sci ...
in his novel
The Black Cloud ''The Black Cloud'' is a 1957 science fiction novel by British astrophysicist Fred Hoyle. It details the arrival of an enormous cloud of gas that enters the solar system and appears about to destroy most of the life on Earth by blocking the Sun ...
.


Programming technique

The early programmers had to make use of techniques frowned upon today—in particular, the use of
self-modifying code In computer science, self-modifying code (SMC) is code that alters its own instructions while it is executing – usually to reduce the instruction path length and improve performance or simply to reduce otherwise repetitively similar code, ...
. As there was no index register until much later, the only way of accessing an array was to alter which memory location a particular instruction was referencing. David Wheeler, who earned the world's first Computer Science PhD working on the project, is credited with inventing the concept of a subroutine. Users wrote programs that called a routine by jumping to the start of the subroutine with the
return address In postal mail, a return address is an explicit inclusion of the address of the person sending the message. It provides the recipient (and sometimes authorized intermediaries) with a means to determine how to respond to the sender of the message i ...
(i.e. the location-plus-one of the jump itself) in the accumulator (a
Wheeler Jump The Wheeler Jump is a type of subroutine call methodology that was used on some early computers that lacked hardware support for saving the return address. The concept was developed by David Wheeler while working on the pioneering EDSAC machine i ...
). By convention the subroutine expected this, and the first thing it did was to modify its concluding jump instruction to that return address. Multiple and nested subroutines could be called so long as the user knew the length of each one in order to calculate the location to jump to; recursive calls were forbidden. The user then copied the code for the subroutine from a master tape onto their own tape following the end of their own program. (However, Turing discussed subroutines in a paper of 1945 on design proposals for the NPL
ACE An ace is a playing card, die or domino with a single pip. In the standard French deck, an ace has a single suit symbol (a heart, diamond, spade, or club) located in the middle of the card, sometimes large and decorated, especially in the c ...
, going so far as to invent the concept of a return-address stack, which would have allowed recursion.) The lack of an index register also posed a problem to the writer of a subroutine in that they could not know in advance where in memory the subroutine would be loaded, and therefore they could not know how to address any regions of the code that were used for storage of data (so-called "pseudo-orders"). This was solved by use of an initial input routine, which was responsible for loading subroutines from punched tape into memory. On loading a subroutine, it would note the start location and increment internal memory references as required. Thus, as Wilkes wrote, "the code used to represent orders outside the machine differs from that used inside, the differences being dictated by the different requirements of the programmer on the one hand, and of the control circuits of the machine on the other". EDSAC's programmers used special techniques to make best use of the limited available memory. For example, at the point of loading a subroutine from punched tape into memory, it might happen that a particular constant would have to be calculated, a constant that would not subsequently need recalculation. In this situation, the constant would be calculated in an "interlude". The code required to calculate the constant would be supplied along with the full subroutine. After the initial input routine had loaded the calculation-code, it would transfer control to this code. Once the constant had been calculated and written into memory, control would return to the initial input routine, which would continue to write the remainder of the subroutine into memory, but first adjusting its starting point so as to overwrite the code that had calculated the constant. This allowed quite complicated adjustments to be made to a general-purpose subroutine without making its final footprint in memory any larger than had it been tailored to a specific circumstance.


Application software

The subroutine concept led to the availability of a substantial subroutine library. By 1951, 87 subroutines in the following categories were available for general use: floating-point arithmetic; arithmetic operations on
complex number In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the fo ...
s; checking; division;
exponentiation Exponentiation is a mathematical operation, written as , involving two numbers, the '' base'' and the ''exponent'' or ''power'' , and pronounced as " (raised) to the (power of) ". When is a positive integer, exponentiation corresponds to r ...
; routines relating to functions;
differential equation In mathematics, a differential equation is an equation that relates one or more unknown functions and their derivatives. In applications, the functions generally represent physical quantities, the derivatives represent their rates of change, an ...
s; special functions;
power series In mathematics, a power series (in one variable) is an infinite series of the form \sum_^\infty a_n \left(x - c\right)^n = a_0 + a_1 (x - c) + a_2 (x - c)^2 + \dots where ''an'' represents the coefficient of the ''n''th term and ''c'' is a con ...
;
logarithm In mathematics, the logarithm is the inverse function to exponentiation. That means the logarithm of a number  to the base  is the exponent to which must be raised, to produce . For example, since , the ''logarithm base'' 10 of ...
s; miscellaneous; print and layout; quadrature; read (input); ''n''th root;
trigonometric functions In mathematics, the trigonometric functions (also called circular functions, angle functions or goniometric functions) are real functions which relate an angle of a right-angled triangle to ratios of two side lengths. They are widely used in al ...
; counting operations (simulating repeat until loops,
while loop In most computer programming languages, a while loop is a control flow statement that allows code to be executed repeatedly based on a given Boolean condition. The ''while'' loop can be thought of as a repeating if statement. Overview The ' ...
s and
for loop In computer science a for-loop or for loop is a control flow statement for specifying iteration. Specifically, a for loop functions by running a section of code repeatedly until a certain condition has been satisfied. For-loops have two par ...
s); vectors; and
matrices Matrix most commonly refers to: * ''The Matrix'' (franchise), an American media franchise ** ''The Matrix'', a 1999 science-fiction action film ** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchis ...
. The first assembly language appeared for the EDSAC, and inspired several other assembly languages:


Applications of EDSAC

EDSAC was designed specifically to form part of the Mathematical Laboratory's support service for calculation. The first scientific paper to be published using a computer for calculations was by
Ronald Fisher Sir Ronald Aylmer Fisher (17 February 1890 â€“ 29 July 1962) was a British polymath who was active as a mathematician, statistician, biologist, geneticist, and academic. For his work in statistics, he has been described as "a genius who ...
. Wilkes and Wheeler had used EDSAC to solve a differential equation relating to gene frequencies for him. In 1951, Miller and Wheeler used the machine to discover a 79-digit prime â€“ the largest known at the time. The winners of three Nobel Prizes
John Kendrew Sir John Cowdery Kendrew, (24 March 1917 – 23 August 1997) was an English biochemist, crystallographer, and science administrator. Kendrew shared the 1962 Nobel Prize in Chemistry with Max Perutz, for their work at the Cavendish La ...
and
Max Perutz Max Ferdinand Perutz (19 May 1914 – 6 February 2002) was an Austrian-born British molecular biologist, who shared the 1962 Nobel Prize for Chemistry with John Kendrew, for their studies of the structures of haemoglobin and myoglobin. He went ...
(Chemistry, 1962),
Andrew Huxley Sir Andrew Fielding Huxley (22 November 191730 May 2012) was an English physiologist and biophysicist. He was born into the prominent Huxley family. After leaving Westminster School in central London, he went to Trinity College, Cambridge ...
(Medicine, 1963) and
Martin Ryle Sir Martin Ryle (27 September 1918 â€“ 14 October 1984) was an English radio astronomer who developed revolutionary radio telescope systems (see e.g. aperture synthesis) and used them for accurate location and imaging of weak radio sourc ...
(Physics, 1974) benefitted from EDSAC's revolutionary computing power. In their acceptance prize speeches, each acknowledged the role that EDSAC had played in their research. In the early 1960s
Peter Swinnerton-Dyer Sir Henry Peter Francis Swinnerton-Dyer, 16th Baronet, (2 August 1927 – 26 December 2018) was an English mathematician specialising in number theory at the University of Cambridge. As a mathematician he was best known for his part in th ...
used the EDSAC computer to calculate the number of points modulo ''p'' (denoted by ''Np'') for a large number of primes ''p'' on elliptic curves whose rank was known. Based on these numerical results, conjectured that ''Np'' for a curve ''E'' with rank ''r'' obeys an asymptotic law, the
Birch and Swinnerton-Dyer conjecture In mathematics, the Birch and Swinnerton-Dyer conjecture (often called the Birch–Swinnerton-Dyer conjecture) describes the set of rational solutions to equations defining an elliptic curve. It is an open problem in the field of number theory an ...
, considered one of the top unsolved problems in mathematics as of 2022.


Games

In 1952,
Sandy Douglas Alexander Shafto "Sandy" Douglas CBE (21 May 1921 – 29 April 2010) was a British professor of computer science, credited with creating the first graphical computer game OXO, a Noughts and Crosses computer game in 1952 on the EDSAC computer ...
developed '' OXO'', a version of
noughts and crosses Tic-tac-toe (American English), noughts and crosses (Commonwealth English), or Xs and Os (Canadian or Irish English) is a paper-and-pencil game for two players who take turns marking the spaces in a three-by-three grid with ''X'' or ''O''. ...
(tic-tac-toe) for the EDSAC, with graphical output to a VCR97 6" cathode-ray tube. This may well have been the world's
first video game The history of video games spans a period of time between the invention of the first electronic games and today, covering many inventions and developments. Video gaming reached mainstream popularity in the 1970s and 1980s, when arcade video ga ...
. Another video game was created by Stanley Gill and involved a dot (termed a sheep) approaching a line in which one of two gates could be opened. The Stanley Gill game was controlled via the lightbeam of the EDSAC's paper-tape reader. Interrupting it (such as by the player placing their hand in it) would open the upper gate. Leaving the beam unbroken would result in the lower gate opening.


Further developments

EDSAC's successor,
EDSAC 2 EDSAC 2 was an early computer (operational in 1958), the successor to the Electronic Delay Storage Automatic Calculator (EDSAC). It was the first computer to have a microprogrammed control unit and a bit-slice hardware architecture. First cal ...
, was commissioned in 1958. In 1961, an EDSAC 2 version of
Autocode Autocode is the name of a family of "simplified coding systems", later called programming languages, devised in the 1950s and 1960s for a series of digital computers at the Universities of Manchester, Cambridge and London. Autocode was a generic ...
, an
ALGOL ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
-like high-level programming language for scientists and engineers, was developed by David Hartley. In the mid-1960s, a successor to the EDSAC 2 was planned, but the move was instead made to the Titan, a prototype Atlas 2 developed from the
Atlas Computer The Atlas Computer was one of the world's first supercomputers, in use from 1962 (when it was claimed to be the most powerful computer in the world) to 1972. Atlas' capacity promoted the saying that when it went offline, half of the United Ki ...
of the
University of Manchester , mottoeng = Knowledge, Wisdom, Humanity , established = 2004 – University of Manchester Predecessor institutions: 1956 – UMIST (as university college; university 1994) 1904 – Victoria University of Manchester 1880 – Victoria Univ ...
,
Ferranti Ferranti or Ferranti International plc was a UK electrical engineering and equipment firm that operated for over a century from 1885 until it went bankrupt in 1993. The company was once a constituent of the FTSE 100 Index. The firm was known ...
, and
Plessey The Plessey Company plc was a British electronics, defence and telecommunications company. It originated in 1917, growing and diversifying into electronics. It expanded after World War II by acquisition of companies and formed overseas compani ...
.


EDSAC Replica Project

On 13 January 2011, the
Computer Conservation Society The Computer Conservation Society (CCS) is a British organisation, founded in 1989. It is under the joint umbrella of the British Computer Society (BCS), the London Science Museum and the Manchester Museum of Science and Industry. Overview The ...
announced that it planned to build a working replica of EDSAC, at the
National Museum of Computing The National Museum of Computing is a museum in the United Kingdom dedicated to collecting and restoring historic computer systems. The museum is based in rented premises at Bletchley Park in Milton Keynes, Buckinghamshire and opened in 200 ...
(TNMoC) in
Bletchley Park Bletchley Park is an English country house and estate in Bletchley, Milton Keynes ( Buckinghamshire) that became the principal centre of Allied code-breaking during the Second World War. The mansion was constructed during the years followin ...
supervised by
Andrew Herbert Andrew James Herbert, OBE, FREng (born 1954) is a British computer scientist, formerly Chairman of Microsoft Research, for the Europe, Middle East and Africa region. Biography Herbert received a bachelor's of science degree in computationa ...
, who studied under Maurice Wilkes. The first parts of the replica were switched on in November 2014. The ongoing project is open to visitors of the museum. In 2016, two original EDSAC operators, Margaret Marrs and Joyce Wheeler, visited the museum to assist the project. As of November 2016, commissioning of the fully completed and operational state of the replica was estimated to be the autumn of 2017. However, unforeseen project delays have resulted in an unknown date for a completed and fully operational machine.


See also

* EDVAC on which much of the design of EDSAC was based * History of computing hardware *
List of vacuum-tube computers Vacuum-tube computers, now called first-generation computers, are programmable digital computers using vacuum-tube logic circuitry. They were preceded by systems using electromechanical relays and followed by systems built from discrete transi ...
* Margaret Marrs


References


Further reading

* ''The Preparation of Programs for an Electronic Digital Computer'' by Professor Sir Maurice Wilkes, David Wheeler and Stanley Gill,
Addison–Wesley Addison-Wesley is an American publisher of textbooks and computer literature. It is an imprint of Pearson PLC, a global publishing and education company. In addition to publishing books, Addison-Wesley also distributes its technical titles throu ...
, Edition 1, 195
archive.org

50th Anniversary of EDSAC
nbsp;– Dedicated website at the
University of Cambridge Computer Laboratory The Department of Computer Science and Technology, formerly the Computer Laboratory, is the computer science department of the University of Cambridge. it employed 35 academic staff, 25 support staff, 35 affiliated research staff, and about 15 ...
. * * * * reprinted in


External links


An EDSAC simulator
nbsp;– Developed by
Martin Campbell-Kelly Martin Campbell-Kelly is an Emeritus Professor at the University of Warwick who has specialised in the history of computing. Campbell-Kelly has served on the editorial board of the ''IEEE Annals of the History of Computing'' journal. He is a com ...
, Department of Computer Science,
University of Warwick , mottoeng = Mind moves matter , established = , type = Public research university , endowment = £7.0 million (2021) , budget = £698.2 million (2020â ...
, England.
Oral history interview with David Wheeler, 14 May 1987
Charles Babbage Institute The IT History Society (ITHS) is an organization that supports the history and scholarship of information technology by encouraging, fostering, and facilitating archival and historical research. Formerly known as the Charles Babbage Foundation, ...
, University of Minnesota. Wheeler was a research student at the University Mathematical Laboratory at Cambridge in 1948–1951 and a pioneer programmer on the EDSAC project. Wheeler discusses projects that were run on EDSAC, user-oriented programming methods, and the influence of EDSAC on the
ILLIAC ILLIAC (Illinois Automatic Computer) was a series of supercomputers built at a variety of locations, some at the University of Illinois at Urbana–Champaign. In all, five computers were built in this series between 1951 and 1974. Some more modern ...
, the
ORDVAC The ORDVAC (''Ordnance Discrete Variable Automatic Computer)'', is an early computer built by the University of Illinois for the Ballistic Research Laboratory at Aberdeen Proving Ground. A successor to the ENIAC (along with EDVAC built earlier). ...
, and the IBM 701. Wheeler also notes visits by
Douglas Hartree Douglas Rayner Hartree (27 March 1897 â€“ 12 February 1958) was an English mathematician and physicist most famous for the development of numerical analysis and its application to the Hartree–Fock equations of atomic physics and the ...
, Nelson Blackman (of ONR),
Peter Naur Peter Naur (25 October 1928 – 3 January 2016) was a Danish computer science pioneer and Turing award winner. He is best remembered as a contributor, with John Backus, to the Backus–Naur form (BNF) notation used in describing the syntax for m ...
, Aad van Wijngarden, Arthur van der Poel, Friedrich Bauer, and
Louis Couffignal Louis Pierre Couffignal (16 March 1902 – 4 July 1966) was a French mathematician and cybernetics pioneer, born in Monflanquin. He taught in schools in the southwest of Brittany, then at the naval academy and, eventually, at the Buffon School. ...
.
Nicholas Enticknap and Maurice Wilkes, Cambridge's Golden Jubilee
nbsp;– in: RESURRECTION The Bulletin of the Computer Conservation Society. {{ISSN, 0958-7403. Number 22, Summer 1999.
The EDSAC Paperwork Collection at The ICL Computer Museum
1940s computers Early British computers 1949 in computing Computer-related introductions in 1949 One-of-a-kind computers Vacuum tube computers University of Cambridge Computer Laboratory History of Cambridge Serial computers